package com.zhanghe.mall.service;

import com.zhanghe.mall.pojo.Role;
import com.zhanghe.mall.service.dto.AddRoleDTO;
import com.zhanghe.mall.service.dto.EditRoleDTO;
import com.zhanghe.mall.service.dto.FindRoleDTO;
import com.zhanghe.mall.service.dto.out.PermissionsDTO;
import com.zhanghe.mall.service.dto.out.RoleDTO;
import java.util.List;
import org.springframework.data.domain.Page;

public interface RoleService {

  /**
   * 分页查询角色
   * @param findRoleDTO
   * @return
   */
  Page<RoleDTO> findByPage(FindRoleDTO findRoleDTO);

  /**
   * 查询角色的权限列表
   * @param roleId
   * @return
   */
  List<PermissionsDTO> findRolePermissions(Long roleId);

  /**
   * 添加角色
   * @param addRoleDTO
   * @return
   */
  Role insert(AddRoleDTO addRoleDTO);

  /**
   * 修改角色信息
   * @param editRoleDTO
   * @return
   */
  Role edit(EditRoleDTO editRoleDTO);
}
